/**
 * 项目名称（软件名称）：忠旺机械物资管理系统(mms)
 * 研发设计单位：忠旺机械设备制造有限公司机械设计院智能控制设计科设计与研发。
 * 版权所有：忠旺机械设备制造有限公司
 * 注：本项目的一切技术专利，使用规范归解释权由忠旺机械设备制造有限公司所有。
 * 软件版本：Ver 1.0.0
 * 文件路径：com.zhongwang.mms.module.overview.controller
 * 创建时间：2020年07月25日 16时39分
 **/
package com.zhongwang.mms.module.overview.controller;

import com.zhongwang.mms.base.BaseController;
import com.zhongwang.mms.base.BaseService;
import com.zhongwang.mms.common.JsonResult;
import com.zhongwang.mms.module.overview.model.OveIndexModel;
import com.zhongwang.mms.module.overview.service.OveIndexService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @ClassName： OveIndexController
 * @Description： 首页控制层
 * @Author： 徐一贺
 * @Date： 2020/5/15 9:59
 * @Version： V1.0
 **/
@Controller
@RequestMapping("/overview/index")
public class OveIndexController extends BaseController {

    @Autowired
    private OveIndexService oveIndexService;

    @GetMapping
    @RequiresPermissions({"overview:main:view"})
    /**
     *@FunctionName: index
     *@Description: 跳转到首页页面
     *@DesignIdea: 根据客户端访问此路径，进行跳转到指定页面
     *@Author: 徐一贺
     *@CreateDate: 2020/5/16 10:10
     *@Phone: 18241927380
     *@Param: [model] 页面渲染模型
     *@Return: java.lang.String 页面路径
     *@Throw: 无异常抛出
     *@Version: v 1.0
     */
    public String index(Model model) {
        return "/overview/index/page";
    }

    @PostMapping("/loadRawMaterialTopData")
    @ResponseBody
    @RequiresPermissions({"overview:main:view"})
    /**
     *@FunctionName: loadRawMaterialTopData
     *@Description: 加载首页原料库顶部数据
     *@DesignIdea: 加载首页原料库顶部数据
     *@Author: 徐一贺
     *@CreateDate: 2020/5/18 20:07
     *@Phone: 18241927380
     *@Param: [无参数]
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Throw: 无异常抛出
     *@Version: 1.0.0
     */
    public JsonResult loadRawMaterialTopData() {
        return oveIndexService.loadRawMaterialTopData();
    }

    @PostMapping("/loadRawMatDataByDate")
    @ResponseBody
    @RequiresPermissions({"overview:main:view"})
    /**
     *@FunctionName: loadRawMatDataByDate
     *@Description: 加载首页原料库中部数据
     *@DesignIdea: 加载首页原料库中部数据
     *@Author: 徐一贺
     *@CreateDate: 2020/5/19 9:04
     *@Phone: 18241927380
     *@Param: [param.year]年，[param.month]月
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Throw: 无异常抛出
     *@Version: 1.0.0
     */
    public JsonResult loadRawMatDataByDate(OveIndexModel param) {
        return oveIndexService.loadRawMatDataByDate(param);
    }

    @PostMapping("/loadRawMatApprovalPendingData")
    @ResponseBody
    @RequiresPermissions({"overview:main:view"})
    /**
     *@FunctionName: loadRawMatApprovalPendingData
     *@Description: 加载首页原料库待审批数据
     *@DesignIdea: 加载首页原料库待审批数据
     *@Author: 徐一贺
     *@CreateDate: 2020/5/20 15:19
     *@Phone: 18241927380
     *@Param: []
     *@Return: com.zhongwang.mms.common.JsonResult 结果
     *@Throw: 无异常抛出
     *@Version: v 1.0.0
     */
    public JsonResult loadRawMatApprovalPendingData() {
        return oveIndexService.loadRawMatApprovalPendingData();
    }




    @PostMapping("/loadPurchaseTopData")
    @ResponseBody
    @RequiresPermissions({"overview:main:view"})
    /**
     * @FunctionName: loadRawMaterialTopData
     * @Description: 加载首页外购件库顶部数据
     * @DesignIdea: 加载首页外购件库顶部数据
     * @Author: 徐一贺
     * @CreateDate: 2020/5/20 9:07
     * @Phone: 18241927380
     * @Param: [无参数]
     * @Return: com.zhongwang.mms.common.JsonResult
     * @Throw: 无异常抛出
     * @Version: 1.0.0
     */
    public JsonResult loadPurchaseTopData() {
        return oveIndexService.loadPurchaseTopData();
    }

    @PostMapping("/loadPurDataByDate")
    @ResponseBody
    @RequiresPermissions({"overview:main:view"})
    /**
     *@FunctionName: loadPurDataByDate
     *@Description: 加载首页外购件库中部数据
     *@DesignIdea: 加载首页外购件库中部数据
     *@Author: 徐一贺
     *@CreateDate: 2020/5/20 10:05
     *@Phone: 18241927380
     *@Param: [param.year]年，[param.month]月
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Throw: 无异常抛出
     *@Version: 1.0.0
     */
    public JsonResult loadPurDataByDate(OveIndexModel param) {
        return oveIndexService.loadPurDataByDate(param);
    }
    @PostMapping("/loadPurApprovalPendingData")
    @ResponseBody
    @RequiresPermissions({"overview:main:view"})
    /**
     * @FunctionName: loadPurApprovalPendingData
     * @Description: 加载首页外购件库待审批数据
     * @DesignIdea: 加载首页外购件库待审批数据
     * @Author: 徐一贺
     * @CreateDate: 2020/5/20 15:19
     * @Phone: 18241927380
     * @Param: []
     * @Return: com.zhongwang.mms.common.JsonResult 结果
     * @Throw: 无异常抛出
     * @Version: v 1.0.0
     */
    public JsonResult loadPurApprovalPendingData() {
        return oveIndexService.loadPurApprovalPendingData();
    }

    @PostMapping("/loadHalfTopData")
    @ResponseBody
    @RequiresPermissions({"overview:main:view"})
    /**
     *@FunctionName: loadHalfTopData
     *@Description: 加载首页成品库顶部数据
     *@DesignIdea: 加载首页成品库顶部数据
     *@Author: 徐一贺
     *@CreateDate: 2020/5/20 16:51
     *@Phone: 18241927380
     *@Param: []
     *@Return: com.zhongwang.mms.common.JsonResult 结果
     *@Throw: 无异常抛出
     *@Version: v 1.0.0
     */
    public JsonResult loadHalfTopData() {
        return oveIndexService.loadHalfTopData();
    }

    @PostMapping("/loadHalfDataByDate")
    @ResponseBody
    @RequiresPermissions({"overview:main:view"})
    /**
     *@FunctionName: loadHalfDataByDate
     *@Description: 加载首页成品库中部数据
     *@DesignIdea: 加载首页外成品库中部数据
     *@Author: 徐一贺
     *@CreateDate: 2020/5/21 8:10
     *@Phone: 18241927380
     *@Param: [param.year]年，[param.month]月
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Throw: 无异常抛出
     *@Version: 1.0.0
     */
    public JsonResult loadHalfDataByDate(OveIndexModel param) {
        return oveIndexService.loadHalfDataByDate(param);
    }

    @PostMapping("/loadHalfApprovalPendingData")
    @ResponseBody
    @RequiresPermissions({"overview:main:view"})
    /**
     *@FunctionName: loadHalfApprovalPendingData
     *@Description: 加载首页成品库待审批数据
     *@DesignIdea: 加载首页外成品库待审批数据
     *@Author: 徐一贺
     *@CreateDate: 2020/5/21 9:49
     *@Phone: 18241927380
     * @Param: []
     * @Return: com.zhongwang.mms.common.JsonResult 结果
     * @Throw: 无异常抛出
     * @Version: v 1.0.0
     */
    public JsonResult loadHalfApprovalPendingData() {
        return oveIndexService.loadHalfApprovalPendingData();
    }
}